--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/backend/test_search_integration.py 66412c74389b272bbd7ced2f5071396e5031a59f (66412c74) Text, 2.97 KB
T8b949e"""Integration tests for conversation list search and announce search filtering."""
Tff7b72import T7ee787secrets
Tff7b72import T7ee787time
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787announce_manager Tff7b72import Tb4b4b4(
Te6edf3filter_announced_dicts_by_search_queryTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787message_handler Tff7b72import Te6edf3MessageHandler
Tff7b72from T7ee787testsT7ee787.T7ee787backendT7ee787.T7ee787test_performance_hotpaths Tff7b72import Te6edf3make_message
Tff7b72def Td2a8fftest_get_conversations_search_finds_peer_via_older_messageTb4b4b4(Te6edf3dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3dbTb4b4b4)
Te6edf3peer Tff7b72= Te6edf3secretsTff7b72.Td2a8fftoken_hexTb4b4b4(T79c0ff16Tb4b4b4)
Tff7b72with Te6edf3dbTff7b72.Td2a8ffproviderTb4b4b4:
Te6edf3m_old Tff7b72= Te6edf3make_messageTb4b4b4(Te6edf3peerTb4b4b4, T79c0ff1Tb4b4b4)
Te6edf3m_oldTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffunique_old_body_xyzTa5d6ff"
Te6edf3m_oldTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6fft1Ta5d6ff"
Te6edf3m_oldTb4b4b4[Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4) Tff7b72- T79c0ff100
Te6edf3m_new Tff7b72= Te6edf3make_messageTb4b4b4(Te6edf3peerTb4b4b4, T79c0ff2Tb4b4b4)
Te6edf3m_newTb4b4b4[Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6fflatestTa5d6ff"
Te6edf3m_newTb4b4b4[Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6fft2Ta5d6ff"
Te6edf3m_newTb4b4b4[Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Te6edf3dbTff7b72.Td2a8ffmessagesTff7b72.Td2a8ffupsert_lxmf_messageTb4b4b4(Te6edf3m_oldTb4b4b4)
Te6edf3dbTff7b72.Td2a8ffmessagesTff7b72.Td2a8ffupsert_lxmf_messageTb4b4b4(Te6edf3m_newTb4b4b4)
Te6edf3rows Tff7b72= Te6edf3handlerTff7b72.Td2a8ffget_conversationsTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Te6edf3searchTff7b72=Ta5d6ff"Ta5d6ffunique_old_bodyTa5d6ff"Tb4b4b4)
Te6edf3dest_hashes Tff7b72= Tb4b4b4{Te6edf3rTb4b4b4[Ta5d6ff"Ta5d6ffpeer_hashTa5d6ff"Tb4b4b4] Tff7b72for Te6edf3r Tff7b72in Te6edf3rowsTb4b4b4}
Tff7b72assert Te6edf3peer Tff7b72in Te6edf3dest_hashes
Tff7b72def Td2a8fftest_get_conversations_search_matches_custom_display_nameTb4b4b4(Te6edf3dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3dbTb4b4b4)
Te6edf3peer Tff7b72= Te6edf3secretsTff7b72.Td2a8fftoken_hexTb4b4b4(T79c0ff16Tb4b4b4)
Tff7b72with Te6edf3dbTff7b72.Td2a8ffproviderTb4b4b4:
Te6edf3dbTff7b72.Td2a8ffmessagesTff7b72.Td2a8ffupsert_lxmf_messageTb4b4b4(Te6edf3make_messageTb4b4b4(Te6edf3peerTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)
Te6edf3dbTff7b72.Td2a8ffannouncesTff7b72.Td2a8ffupsert_custom_display_nameTb4b4b4(Te6edf3peerTb4b4b4, Ta5d6ff"Ta5d6ffCustomDisplayUniqueZTa5d6ff"Tb4b4b4)
Te6edf3rows Tff7b72= Te6edf3handlerTff7b72.Td2a8ffget_conversationsTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Te6edf3searchTff7b72=Ta5d6ff"Ta5d6ffCustomDisplayUniqueTa5d6ff"Tb4b4b4)
Tff7b72assert Tffa657anyTb4b4b4(Te6edf3rTb4b4b4[Ta5d6ff"Ta5d6ffpeer_hashTa5d6ff"Tb4b4b4] Tff7b72== Te6edf3peer Tff7b72for Te6edf3r Tff7b72in Te6edf3rowsTb4b4b4)
Tff7b72def Td2a8fftest_filter_announced_dicts_by_search_query_display_nameTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAlphaOnlyNameTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Ta5d6ff"Ta5d6ffidentity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffeTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBetaOtherNameTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Ta5d6ff"Ta5d6ffidentity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffeTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]
Te6edf3out Tff7b72= Te6edf3filter_announced_dicts_by_search_queryTb4b4b4(Te6edf3itemsTb4b4b4, Ta5d6ff"Ta5d6ffAlphaOnlyTa5d6ff"Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3outTb4b4b4) Tff7b72== T79c0ff1
Tff7b72assert Te6edf3outTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffcTa5d6ff" Tff7b72* T79c0ff32
Tff7b72def Td2a8fftest_filter_announced_dicts_by_search_query_custom_display_nameTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3items Tff7b72= Tb4b4b4[
Tb4b4b4{
Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAnonymous PeerTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcustom_display_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCustomNickUniqueSearchTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Ta5d6ff"Ta5d6ffidentity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff1Ta5d6ff" Tff7b72* T79c0ff32Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]
Te6edf3out Tff7b72= Te6edf3filter_announced_dicts_by_search_queryTb4b4b4(Te6edf3itemsTb4b4b4, Ta5d6ff"Ta5d6ffcustomnickuniqueTa5d6ff"Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3outTb4b4b4) Tff7b72== T79c0ff1
Tff7b72def Td2a8fftest_filter_announced_dicts_by_search_query_destination_hash_substringTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3dest Tff7b72= Ta5d6ff"Ta5d6ffabTa5d6ff" Tff7b72+ Ta5d6ff"Ta5d6ff0Ta5d6ff" Tff7b72* T79c0ff30
Te6edf3items Tff7b72= Tb4b4b4[
Tb4b4b4{Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffXTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Te6edf3destTb4b4b4, Ta5d6ff"Ta5d6ffidentity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffyTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4}Tb4b4b4,
Tb4b4b4]
Te6edf3out Tff7b72= Te6edf3filter_announced_dicts_by_search_queryTb4b4b4(Te6edf3itemsTb4b4b4, Ta5d6ff"Ta5d6ffab00Ta5d6ff"Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3outTb4b4b4) Tff7b72== T79c0ff1
Tff7b72def Td2a8fftest_filter_announced_dicts_by_search_query_case_insensitiveTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3items Tff7b72= Tb4b4b4[
Tb4b4b4{Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCamelCaseNameTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffzTa5d6ff" Tff7b72* T79c0ff32Tb4b4b4}Tb4b4b4,
Tb4b4b4]
Te6edf3out Tff7b72= Te6edf3filter_announced_dicts_by_search_queryTb4b4b4(Te6edf3itemsTb4b4b4, Ta5d6ff"Ta5d6ffcamelcaseTa5d6ff"Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3outTb4b4b4) Tff7b72== T79c0ff1
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────